The present invention relates to a data processor, and in particular, to a data processor or a vector processor suitable for executing vector operations at a high speed.
In a vector processor, in order to achieve at a high speed a matrix computation frequently appearing in a scientific and technological computation, there are disposed a plurality of memory requesters and arithmetic units (to be collectively referred to as resources herebelow) formed in a pipeline configuration in which vector data can be supplied for each clock. Furthermore, in many cases, in order to temporarily store data supplied from such resources and to supply data thereto at a high speed, the vector processor includes a plurality of vector registers in which read and write operations of vector data can be effected for each clock.
In U.S. Pat. No. 4,658,355 a system is shown in which even when information items such as operation codes corresponding to the kinds of arithmetic operations to be effected are shifted in synchronism with a stage of a pipeline such that the respective stages of operations are controlled so as to effect a plurality of different kinds of operations, an if control informations such as the operation codes are supplied to one of resources such as memory requesters and arithmetic units as described above without intervals therebetween, vector data items processed by the specific operations can be accepted by the resource without intervals therebetween.
On the other hand, the U.S. Pat. No. 4,617,625 has disclosed a system in which in order to supply or to receive data items to or from a resource without intervals therebetween, a control unit controlling vector registers effects a change-over operation for a data transfer path between a resource for which an instruction is to be effected and a vector register specified for a read or write operation by the instruction such that the change-over operation is achieved immediately after a result of a decode operation of the instruction is supplied thereto so as to instruct the data read or write operation.
The result of the decode operation is supplied from an instruction control unit. In the instruction control unit, an instruction is decoded so as to determine whether or not an execution of the decoded instruction can be initiated. If the execution can be initiated, the result of the instruction decode operation is immediately sent to the resource and the vector register control unit; otherwise, after the state in which the instruction can be executed is established, the operation above is achieved. The state in which the execution of the instruction can be initiated means that the resource as an object of the execution of the instruction is not in use and the vector register specified for the read or write operation by the instruction is available for the pertinent operation.
The control method above is described in detail in U.S. Pat. No. 4,617,625.
In the above prior art technologies, a completion report or notification of an instruction execution indicating an end of a use of a resource is transmitted when the last vector data to be processed by the instruction being executed is supplied to the resource. In consequence, there is required a period of time from when the vector data to be processed by the instruction being executed is supplied to the resource to a point of time when the resource is loaded with the first vector data of the next instruction for which the initiation of the execution is determined to be possible as a result of the execution initiation possibility check effected on arrival of the instruction execution completion report in the instruction control unit and which is notified to the resource and the vector register control unit. As a result, conventionally, even if the resources and the vector register control unit are so configured to effect processing of vector data for each clock, there is elapsed a period of time from when the last vector data of the preceding instruction is processed to when processing of the first vector data of the succeeding instruction is effected, which as a result deteriorates the utilization efficiency, for example, of the resource.